feat(silo)!: support multiple lineage systems - #998
Conversation
|
This is a preview of the changelog of the next release. If this branch is not up-to-date with the current main branch, the changelog may not be accurate. Rebase your branch on the main branch to get the most accurate changelog. Note that this might contain changes that are on main, but not yet released. Changelog: 0.9.0 (2025-10-02)⚠ BREAKING CHANGES
Features
Bug Fixes
|
c881612 to
8491418
Compare
8491418 to
db2709e
Compare
db2709e to
9e74c8c
Compare
Would it make sense to change # preprocessing config
lineageDefinitionFilenames:
pangoLineage: 'my-pango-lineages.yaml'
nextstrainClade: 'my-nextstrain-clades.yaml'
---
# db config
metadata:
- name: myPangoLineageField
generateLineageInedx: pangoLineageEdit: if I call my lineage file e.g. "lineage.yaml", would |
Unfortunately, this is not possible, as the preprocessing-config can also be supplied by CLI arguments / env vars, hence, it can only be a string. -> only partially true, we introduced a list type parameter instead, see later discussion Mid-term I do not think this matters too much, as the current |
Ok that is unfortunate. I could imagine that we could still get keys from CLI arguments by implementing a syntax like But I'd still like to get rid of the heuristics that try to autocomplete the filename. Do we need that at all? The DB config is written once and it doesn't really matter how long the config values are. We could simply require maintainers to put the whole filename there (maybe without the |
76e4f68 to
7eb9d61
Compare
53064a1 to
27ff74c
Compare
BREAKING CHANGE: Multiple breaking changes to lineage configuration: - PreprocessingConfig: `lineageDefinitionsFilename` renamed to `lineageDefinitionFilenames` and changed from string to list - DatabaseConfig: `generateLineageIndex` changed from boolean to string (expects lineage definition filename)
27ff74c to
3908395
Compare
We decided to change the code to store the parameter as a list directly, but CLI arguments and env vars will currently throw errors, when trying to define a list-type parameter (e.g. The follow-up issue #1010 has been added |
|
We might wait with merging this (and thus needing to bump SILO to 0.9), until #1007 is fixed |
BREAKING CHANGE: Multiple breaking changes to lineage configuration:
lineageDefinitionsFilenamerenamed tolineageDefinitionFilenamesand changed from string to arraygenerateLineageIndexchanged from boolean to string (expects lineage definition filename)resolves #691
Summary
This adds the possibility to define multiple lineage definition systems.
In preprocessing, the lineage systems are given as a list of filenames in YAML. The filenames are expected as relative from inputDirectory.
The string columns with lineage indexes are still marked with
generateLineageIndexin the database config. Instead oftrue, the value should be the name of the lineage definition file (.yamlmay be omitted).PR Checklist